// 封装分类数据业务相关代码
import { onMounted, ref } from 'vue'
import { useRoute } from 'vue-router'
import { onBeforeRouteUpdate } from 'vue-router'
import {reqCategoryAPI} from '@/api/category'

export const useCategory = () => {
    // 获取分类数据
    const categoryData = ref([])
    // 获取当前路由
    const route = useRoute()
    // 接口请求
    const getCategory = async (id= route.params.id) => {
       const res = await reqCategoryAPI(id)
       categoryData.value = res.data.result
    }

    // 路由挂载之后请求分类数据
    onMounted(() => {
        getCategory()
    })

    // 目标:路由参数变化的时候 可以把分类数据接口重新发送
    onBeforeRouteUpdate((to, from, next) => {
    // 存在问题：使用最新的路由参数请求最新的分类数据
        getCategory(to.params.id)
    })

    return {
        categoryData,
        getCategory
    }
}

